'use strict';
// Copyright 2014 Blueant Inc. All Rights Reserved.

/**
 * @fileoverview 竞技场战斗记录
 * @author sundbcn@gmail.com (sun debing)
 */

var moment = require('moment');
var mongoose = require('mongoose');
var _ = require('lodash');
var autoIncrement = require('mongoose-auto-increment');
var luckItemSchema = require('./luck/luckItemSchema');
var autoIncrement = require('mongoose-auto-increment');

/**
 * 取出当前时间戳
 */
var _getNowTm = function () {
    return moment().unix();
};

/**
 *竞技场对战战斗记录
 */
var battleRecordSchema = new mongoose.Schema({
    // 战报ID
    battle_id: {
        type: Number,
        required: true,
        index: true
    },

    // 进攻方的角色id
    atk_role_id: {
        type: Number,
        required: true,
        index: true
    },

    // 防守方的角色id
    def_role_id: {
        type: Number,
        required: true,
        index: true
    },

    // 攻击方数据
    atk: {
        // 名字
        name: String,

        // 等级
        lv: Number,

        // 职业类型
        job_type: Number,

        // 联盟名称
        union_name: String,

        // 联盟旗帜
        union_flag: Number,

        // 进攻战力
        soldier_power: Number,

        // 排名
        rank: Number,

        // VIP
        vip: Number,

        // 战力
        fight_power: Number,
    },

    // 防守方数据
    def: {
        // 名字
        name: String,

        // 等级
        lv: Number,

        // 职业类型
        job_type: Number,

        // 联盟名称
        union_name: String,

        // 联盟旗帜
        union_flag: Number,

        // 进攻战力
        soldier_power: Number,

        // 排名
        rank: Number,

        // VIP
        vip: Number,

        // VIP
        fight_power: Number,
    },

    // 战斗结果
    battle_result: {
        type: Number,
        default: 0
    },

    // 排名变化
    rank_changed: {
        type: Number,
        default: 0
    },

    // 结束标志
    battle_end: {
        type: Number,
        default: 0
    },

    // 创建时间
    create_tm: {
        type: Number,
        default: _getNowTm,
        index: true
    }
});

battleRecordSchema.plugin(autoIncrement.plugin, {
    model: 'ArenaBattleRecordSchema',
    field: 'battle_id',
    startAt: 30000
});

mongoose.model('ArenaBattleRecordSchema', battleRecordSchema);
